home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 5 code / Scanning from ProDOS / Dev.Sampledbl.aii.lst < prev    next >
Encoding:
File List  |  1990-12-04  |  60.6 KB  |  1,159 lines  |  [TEXT/MPS ]

  1.  
  2. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   1
  3. Copyright Apple Computer, Inc. 1987-1990
  4.  
  5. Loc   SLoc Object Code    Addr T M    Source Statement
  6.  
  7.  
  8.                                       ;*******************************************************
  9.                                       ;
  10.                                       ;    Develop Code Samples.
  11.                                       ;
  12.                                       ;    Written by Matt Gulick.        Started October 16,1990
  13.                                       ;
  14.                                       ;*******************************************************
  15.  
  16.                                       ;*******************************************************
  17.                                       ;
  18.                                       ;    This file contains the code samples that are used in
  19.                                       ;    the Scanning From ProDOS article in DEVELOP.  These
  20.                                       ;    code segments may be used freely by anyone.  All
  21.                                       ;    code in this file assumes that we are running in an
  22.                                       ;    8 bit Apple IIe.
  23.                                       ;
  24.                                       ;*******************************************************
  25.  
  26.                                       ;*******************************************************
  27.                                       ;
  28.                                       ;    Revision History:
  29.                                       ;
  30.                                       ;*******************************************************
  31.  
  32.                                       ;    Oct  16, 1990    File started.
  33.                                       ;
  34.  
  35.                                                   STRING        PASCAL
  36.                                                   BLANKS        OFF
  37.                                                   PAGESIZE    70
  38.                                                   PRINT        NOGEN
  39.                                                   PRINT        NOMDIR
  40.                                                   MACHINE        M65C02
  41.  
  42.  
  43. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   2
  44. Copyright Apple Computer, Inc. 1987-1990
  45.  
  46. Loc   SLoc Object Code    Addr T M    Source Statement
  47.  
  48.  
  49.                                       ;*******************************************************
  50.                                       ;
  51.                                       ;    CODE SAMPLE #1
  52.                                       ;
  53.                                       ;    This first code segment walks the slots starting at
  54.                                       ;    slot 7, looking first for a card of any kind.  Once
  55.                                       ;    found, we check the ID bytes for a Smartport card.
  56.                                       ;    Once found we check the ID Type byte to see if it is
  57.                                       ;    a SCSI Card.  If it passes all these tests, we then
  58.                                       ;    issue a Device $00 Status $00 call to further ensure
  59.                                       ;    that this is the Apple High-Speed SCSI Card.
  60.                                       ;
  61.                                       ;*******************************************************
  62.  
  63.                                                                       ;
  64.                                                                       ; The following are Equates
  65.                                                                       ; that will bee used in all
  66.                                                                       ; the Sample Code Segments
  67.                                                                       ; that follow.
  68.                                                                       ;
  69.            0000 004B                  rqst_cnt    equ        75
  70.  
  71.            0000 00C7                  slot_7        equ        $C7
  72.            0000 00C1                  slot_1        equ        $C1
  73.  
  74.            0000 0042                  My_ZPage    equ        $42
  75.  
  76.            0000 C000                  KBD            equ        $C000        ;Keyboard
  77.            0000 C000                  CLR80COL    equ        $C000        ;Disable 80_column store
  78.            0000 C001                  SET80COL    equ        $C001        ;Enable 80_column store
  79.            0000 C004                  WRMAINRAM    equ        $C004        ;Write to Main 48k
  80.            0000 C005                  WRCARDRAM    equ        $C005        ;Write to Alternate 48k
  81.            0000 C00C                  CLR80VID    equ        $C00C        ;Disable 80-column hardware
  82.            0000 C00D                  SET80VID    equ        $C00D        ;Enable 80-column hardware
  83.            0000 C010                  KBD_STRB    equ        $C010        ;Keyboard Strobe
  84.            0000 C018                  RD80COL        equ        $C018        ;Read 80 Col. Mode
  85.            0000 C01A                  RDTEXT        equ        $C01A        ;Read Text Mode
  86.            0000 C01B                  RDMIX        equ        $C01B        ;Read Mix Mode
  87.            0000 C01C                  RDPAGE2        equ        $C01C        ;Read Page 2 setting
  88.            0000 C01D                  RDHIRES        equ        $C01D        ;Read HiRes setting
  89.            0000 C01F                  RD80VID        equ        $C01F        ;Read 80 Col. Mode
  90.            0000 C050                  TXTCLR        equ        $C050        ;Clear Text Mode
  91.            0000 C051                  TXTSET        equ        $C051        ;Set Text Mode
  92.            0000 C052                  MIXCLR        equ        $C052        ;Clear Mixed Mode
  93.            0000 C053                  MIXSET        equ        $C053        ;Set Mixed Mode
  94.            0000 C054                  TXTPAGE1    equ        $C054        ;Set Text Page 1
  95.            0000 C055                  TXTPAGE2    equ        $C055        ;Set Text page 2
  96.            0000 C056                  LORES        equ        $C056        ;Set LoRes Graphics
  97.            0000 C057                  HIRES        equ        $C057        ;Set HiRes Graphics
  98.            0000 C05E                  CLRAN3        equ        $C05E        ;Clear annunciator 3
  99.            0000 C05F                  SETAN3        equ        $C05F        ;Set annunciator 3
  100.  
  101.            0000 009B                  ESC            equ        $9B            ;High bit set ASCII ESC Key
  102.  
  103.            0000 0001                  Blk_sig1    equ        $01
  104.            0000 0003                  Blk_sig2    equ        $03
  105.            0000 0005                  Blk_sig3    equ        $05
  106.            0000 0007                  SPort_sig    equ        $07
  107.            0000 00FB                  SPort_ID    equ        $FB
  108.  
  109.            0000 0080                  Ext_SPort    equ        %10000000    ;Bit 7
  110.            0000 0002                  SCSI        equ        %00000010    ;Bit 2
  111.  
  112.            0000 0000                  No_Err        equ        $00
  113.            0000 0027                  IO_Err        equ        $27
  114.            0000 0028                  No_dev        equ        $28
  115.  
  116.                                       ;*******************************************************
  117.  
  118. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   3
  119. Copyright Apple Computer, Inc. 1987-1990
  120.  
  121. Loc   SLoc Object Code    Addr T M    Source Statement
  122.  
  123.  
  124.                                                   EXPORT    P8_Scanner
  125. 00000 0000                            P8_Scanner    PROC
  126. 00000 0000                                                            ;
  127. 00000 0000                                                            ; Main Code Segment.
  128. 00000 0000                                                            ;
  129. 00000 0000
  130. 00000 0000 20 FFFF       00018 6                  jsr        find_card
  131. 00003 0003 20 FFFF       000FA 6                  jsr        find_scanr
  132. 00006 0006 20 FFFF       0018E 6                  jsr        htone_filter
  133. 00009 0009 20 FFFF       001F5 6                  jsr        def_window
  134. 0000C 000C 20 FFFF       0027B 6                  jsr        start_scan
  135. 0000F 000F 20 FFFF       002CE 6                  jsr        get_data
  136. 00012 0012 20 FFFF       00649 6                  jsr        display
  137. 00015 0015 90 E9         00000 2                  bcc        P8_Scanner
  138. 00017 0017 60                  6                  rts
  139. 00018 0018
  140. 00018 0018                            ;*******************************************************
  141. 00018 0018                            ;
  142. 00018 0018                            ;    CODE SAMPLE #1
  143. 00018 0018                            ;
  144. 00018 0018                            ;    This first code segment walks the slots starting at
  145. 00018 0018                            ;    slot 7, looking first for a card of any kind.  Once
  146. 00018 0018                            ;    found, we check the ID bytes for a Smartport card.
  147. 00018 0018                            ;    Once found we check the ID Type byte to see if it is
  148. 00018 0018                            ;    a SCSI Card.  If it passes all these tests, we then
  149. 00018 0018                            ;    issue a Device $00 Status $00 call to further ensure
  150. 00018 0018                            ;    that this is the Apple High-Speed SCSI Card.
  151. 00018 0018                            ;
  152. 00018 0018                            ;*******************************************************
  153. 00018 0018
  154. 00018 0018                            find_card
  155. 00018 0018                                                            ;
  156. 00018 0018                                                            ; Save the current Zero
  157. 00018 0018                                                            ; Page values before
  158. 00018 0018                                                            ; using them.
  159. 00018 0018                                                            ;
  160. 00018 0018 A5 42               3                  lda        <My_ZPage
  161. 0001A 001A 48                  3                  pha
  162. 0001B 001B A5 43               3                  lda        <My_ZPage+1
  163. 0001D 001D 48                  3                  pha
  164. 0001E 001E                                                            ;
  165. 0001E 001E                                                            ; Start at Slot 7.
  166. 0001E 001E                                                            ;
  167. 0001E 001E A9 C7               2                  lda        #slot_7
  168. 00020 0020 85 43               3                  sta        <My_ZPage+1    ;Zero Page
  169. 00022 0022 8D FFFF       000AF 4                  sta        slot+1        ;For Safe keeping
  170. 00025 0025 64 42               3                  stz        <My_ZPage
  171. 00027 0027 9C FFFF       000AE 4                  stz        slot
  172. 0002A 002A                                                            ;
  173. 0002A 002A                                                            ; Is it a Smartport Card?
  174. 0002A 002A                                                            ;
  175. 0002A 002A A0 01               2      @chk_smart    ldy        #Blk_sig1
  176. 0002C 002C B1 42               5                  lda        (My_ZPage),y;Block_device Signature Byte
  177. 0002E 002E C9 20               2                  cmp        #$20        ;#1 = $20
  178. 00030 0030 D0 23         00055 2                  bne        @next_slot
  179. 00032 0032
  180. 00032 0032 A0 03               2                  ldy        #Blk_sig2
  181. 00034 0034 B1 42               5                  lda        (My_ZPage),y;Block_device Signature Byte
  182. 00036 0036 D0 1D         00055 2                  bne        @next_slot    ;#2 = $00
  183. 00038 0038
  184. 00038 0038 A0 05               2                  ldy        #Blk_sig3
  185. 0003A 003A B1 42               5                  lda        (My_ZPage),y;Block_device Signature Byte
  186. 0003C 003C C9 03               2                  cmp        #$03        ;#3 = $03
  187. 0003E 003E D0 15         00055 2                  bne        @next_slot
  188. 00040 0040
  189. 00040 0040 A0 07               2                  ldy        #SPort_sig
  190. 00042 0042 B1 42               5                  lda        (My_ZPage),y;SmartPort Signature Byte
  191. 00044 0044 D0 0F         00055 2                  bne        @next_slot    ;#1 = $00
  192.  
  193. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   4
  194. Copyright Apple Computer, Inc. 1987-1990
  195.  
  196. Loc   SLoc Object Code    Addr T M    Source Statement
  197.  
  198. 00046 0046                                                            ;
  199. 00046 0046                                                            ; We have a Smartport
  200. 00046 0046                                                            ; Device.  Is it SCSI with
  201. 00046 0046                                                            ; Extended SmartPort?
  202. 00046 0046                                                            ;
  203. 00046 0046 A0 FB               2                  ldy        #SPort_ID
  204. 00048 0048 B1 42               5                  lda        (My_ZPage),y
  205. 0004A 004A 29 82               2                  and        #Ext_SPort+\
  206.                                                           SCSI
  207. 0004C 004C C9 82               2                  cmp        #Ext_SPort+\
  208.                                                           SCSI
  209. 0004E 004E D0 05         00055 2                  bne        @next_slot
  210. 00050 0050                                                            ;
  211. 00050 0050                                                            ; Is it an Apple High-
  212. 00050 0050                                                            ; Speed SCSI Card?
  213. 00050 0050                                                            ;
  214. 00050 0050 20 FFFF       0006E 6                  jsr        is_it_appl
  215. 00053 0053 90 0E         00063 2                  bcc        @exit
  216. 00055 0055                                                            ;
  217. 00055 0055                                                            ; Check the Next Slot.
  218. 00055 0055                                                            ;
  219. 00055 0055 A5 43               3      @next_slot    lda        <My_ZPage+1
  220. 00057 0057 3A                  2                  dec        a
  221. 00058 0058 85 43               3                  sta        <My_ZPage+1
  222. 0005A 005A 8D FFFF       000AF 4                  sta        slot+1
  223. 0005D 005D C9 C1               2                  cmp        #slot_1
  224. 0005F 005F B0 C9         0002A 2                  bge        @chk_smart
  225. 00061 0061 A9 28               2                  lda        #No_dev        ;No Device Error
  226. 00063 0063                                                            ;
  227. 00063 0063                                                            ; Clean Exit
  228. 00063 0063                                                            ;
  229. 00063 0063 AA                  2      @exit        tax
  230. 00064 0064 68                  4                  pla
  231. 00065 0065 85 43               3                  sta        <My_ZPage+1
  232. 00067 0067 68                  4                  pla
  233. 00068 0068 85 42               3                  sta        <My_ZPage
  234. 0006A 006A 8A                  2                  txa
  235. 0006B 006B
  236. 0006B 006B C9 01               2                  cmp        #$01        ;Set Carry if Non-Zero
  237. 0006D 006D 60                  6                  rts
  238. 0006E 006E                                                            ;
  239. 0006E 006E                                                            ; This routine determines
  240. 0006E 006E                                                            ; if the card is the new
  241. 0006E 006E                                                            ; High-Speed SCSI Card.
  242. 0006E 006E                                                            ;
  243. 0006E 006E A0 FF               2      is_it_appl    ldy        #$ff
  244. 00070 0070 B1 42               5                  lda        (My_ZPage),y
  245. 00072 0072 18                  2                  clc
  246. 00073 0073 69 03               2                  adc        #$03        ;Set Smartport Entry Address
  247. 00075 0075 8D FFFF       000B3 4                  sta        card_ntry
  248. 00078 0078
  249. 00078 0078 A5 43               3                  lda        <My_ZPage+1
  250. 0007A 007A 8D FFFF       000B4 4                  sta        card_ntry+1
  251. 0007D 007D
  252. 0007D 007D 20 FFFF       000B0 6                  jsr        call_card
  253. 00080 0080 00                                     dc.b    $00            ;Status Call Command Number
  254. 00081 0081 00B5                                   dc.w    stat_list1
  255. 00083 0083                                                            ;
  256. 00083 0083                                                            ; Check the Results
  257. 00083 0083                                                            ;
  258. 00083 0083 AD FFFF       000BC 4                  lda        stat_data+2    ;Low Byte of Vendor ID
  259. 00086 0086 C9 01               2                  cmp        #$01        ;Must be $01
  260. 00088 0088 D0 12         0009C 2                  bne        @non_apple
  261. 0008A 008A
  262. 0008A 008A AD FFFF       000BD 4                  lda        stat_data+3    ;High Byte of Vendor ID
  263. 0008D 008D D0 0D         0009C 2                  bne        @non_apple    ;Must be $00
  264. 0008F 008F
  265. 0008F 008F AD FFFF       000BE 4                  lda        stat_data+4    ;Low Byte of Version
  266. 00092 0092 D0 08         0009C 2                  bne        @non_apple    ;Should be Null
  267.  
  268. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   5
  269. Copyright Apple Computer, Inc. 1987-1990
  270.  
  271. Loc   SLoc Object Code    Addr T M    Source Statement
  272.  
  273. 00094 0094
  274. 00094 0094 AD FFFF       000BF 4                  lda        stat_data+5    ;High Byte of Version
  275. 00097 0097 D0 03         0009C 2                  bne        @non_apple    ;Should be Null
  276. 00099 0099
  277. 00099 0099 18                  2                  clc                    ;Acc. 0 by previous LDA
  278. 0009A 009A 80 03         0009F 3                  bra        @done
  279. 0009C 009C
  280. 0009C 009C A9 28               2      @non_apple    lda        #No_dev        ;Device not found.
  281. 0009E 009E 38                  2                  sec
  282. 0009F 009F                                                            ;
  283. 0009F 009F                                                            ; Restore ZPage
  284. 0009F 009F                                                            ;
  285. 0009F 009F 48                  3      @done        pha
  286. 000A0 00A0 08                  3                  php
  287. 000A1 00A1 AD FFFF       000AE 4                  lda        slot
  288. 000A4 00A4 85 42               3                  sta        <My_ZPage
  289. 000A6 00A6 AD FFFF       000AF 4                  lda        slot+1
  290. 000A9 00A9 85 43               3                  sta        <My_ZPage+1
  291. 000AB 00AB 28                  4                  plp
  292. 000AC 00AC 68                  4                  pla
  293. 000AD 00AD 60                  6                  rts
  294. 000AE 00AE
  295. 000AE 00AE 0000                       slot        dc.w    $0000
  296. 000B0 00B0
  297. 000B0 00B0                            ;*******************************************************
  298. 000B0 00B0
  299. 000B0 00B0 6C FFFF             5      call_card    jmp        (card_ntry)
  300. 000B3 00B3
  301. 000B3 00B3 0000                       card_ntry    dc.w    $0000
  302. 000B5 00B5
  303. 000B5 00B5                            ;*******************************************************
  304. 000B5 00B5
  305. 000B5 00B5 03                         stat_list1    dc.b    $03            ;PCount = 3
  306. 000B6 00B6 00                                     dc.b    $00            ;Device = Card
  307. 000B7 00B7 00BA                                   dc.w    stat_data    ;Data returned here
  308. 000B9 00B9 00                                     dc.b    $00            ;Get Host Status Call
  309. 000BA 00BA
  310. 000BA 00BA                            ;*******************************************************
  311. 000BA 00BA
  312. 000BA 00BA 000000000000               stat_data    dcb.b    64,0        ;Our Buffer.
  313. 000FA 00FA
  314. 000FA 00FA                            ;*******************************************************
  315. 000FA 00FA                            ;
  316. 000FA 00FA                            ;    CODE SAMPLE #2
  317. 000FA 00FA                            ;
  318. 000FA 00FA                            ;    This code segment walks the unit numbers from the
  319. 000FA 00FA                            ;    SCSI Card starting at unit 2 and going to unit 0 to
  320. 000FA 00FA                            ;    get the actual unit number count.  Once this is
  321. 000FA 00FA                            ;    done, we start at unit 1 and walk forward until we
  322. 000FA 00FA                            ;    find the scanner.
  323. 000FA 00FA                            ;
  324. 000FA 00FA                            ;*******************************************************
  325. 000FA 00FA
  326. 000FA 00FA                            find_scanr
  327. 000FA 00FA                                                            ;
  328. 000FA 00FA                                                            ; First we issue a
  329. 000FA 00FA                                                            ; Status call to device
  330. 000FA 00FA                                                            ; number 2.  This will
  331. 000FA 00FA                                                            ; force the card to
  332. 000FA 00FA                                                            ; build its tables if it
  333. 000FA 00FA                                                            ; has not yet done so.
  334. 000FA 00FA                                                            ;
  335. 000FA 00FA A9 02               2                  lda        #$02
  336. 000FC 00FC 8D FFFF       00171 4                  sta        dev_num2
  337. 000FF 00FF 9C FFFF       00174 4                  stz        stat_code2
  338. 00102 0102
  339. 00102 0102 20 00B0       000B0 6                  jsr        call_card
  340. 00105 0105 00                                     dc.b    $00            ;Status Call Command Number
  341. 00106 0106 0170                                   dc.w    stat_list2
  342.  
  343. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   6
  344. Copyright Apple Computer, Inc. 1987-1990
  345.  
  346. Loc   SLoc Object Code    Addr T M    Source Statement
  347.  
  348. 00108 0108 B0 4F         00159 2                  bcs        @error
  349. 0010A 010A                                                            ;
  350. 0010A 010A                                                            ; Now call Unit 0 to
  351. 0010A 010A                                                            ; find out the total
  352. 0010A 010A                                                            ; device count.
  353. 0010A 010A                                                            ;
  354. 0010A 010A 9C FFFF       00171 4                  stz        dev_num2
  355. 0010D 010D 20 00B0       000B0 6                  jsr        call_card
  356. 00110 0110 00                                     dc.b    $00            ;Status Call Command Number
  357. 00111 0111 0170                                   dc.w    stat_list2
  358. 00113 0113 B0 44         00159 2                  bcs        @error
  359. 00115 0115
  360. 00115 0115 AD FFFF       00175 4                  lda        stat_data2    ;Get the Total Device
  361. 00118 0118 8D FFFF       0016E 4                  sta        dev_count    ;Count
  362. 0011B 011B
  363. 0011B 011B A9 03               2                  lda        #$03        ;Set up for DIB Status
  364. 0011D 011D 8D FFFF       00174 4                  sta        stat_code2    ;Calls
  365. 00120 0120
  366. 00120 0120 AD FFFF       00171 4      @loop        lda        dev_num2    ;First time we increment
  367. 00123 0123 CD FFFF       0016E 4                  cmp        dev_count    ;a zero giving a device
  368. 00126 0126 B0 31         00159 2                  bge        @error        ;number of 1.
  369. 00128 0128
  370. 00128 0128 EE FFFF       00171 6                  inc        dev_num2
  371. 0012B 012B 20 00B0       000B0 6                  jsr        call_card
  372. 0012E 012E 00                                     dc.b    $00            ;Status Call Command Number
  373. 0012F 012F 0170                                   dc.w    stat_list2
  374. 00131 0131 B0 26         00159 2                  bcs        @error
  375. 00133 0133
  376. 00133 0133 AD FFFF       0018A 4                  lda        d_type
  377. 00136 0136 C9 08               2                  cmp        #$08        ;Is it Type = Scanner?
  378. 00138 0138 D0 E6         00120 2                  bne        @loop        ;No.
  379. 0013A 013A
  380. 0013A 013A AD FFFF       0018B 4                  lda        d_stype
  381. 0013D 013D C9 A0               2                  cmp        #$A0        ;Subtype = $A0?
  382. 0013F 013F D0 DF         00120 2                  bne        @loop        ;No
  383. 00141 0141                                                            ;
  384. 00141 0141                                                            ; Scan string is a Pascal
  385. 00141 0141                                                            ; String.  A length byte
  386. 00141 0141                                                            ; followed by ASCII.  We
  387. 00141 0141                                                            ; want to make sure they
  388. 00141 0141                                                            ; are both the same length
  389. 00141 0141                                                            ; as well as the same text.
  390. 00141 0141                                                            ;
  391. 00141 0141 AE FFFF       00179 4                  ldx        id_str_len
  392. 00144 0144 BD FFFF             4      @str_loop    lda        id_str_len,x
  393. 00147 0147 DD FFFF             4                  cmp        scan_str,x
  394. 0014A 014A D0 D4         00120 2                  bne        @loop
  395. 0014C 014C CA                  2                  dex
  396. 0014D 014D D0 F5         00144 2                  bne        @str_loop
  397. 0014F 014F
  398. 0014F 014F AD FFFF       00171 4                  lda        dev_num2    ;We have our Scanner
  399. 00152 0152 8D FFFF       0016F 4                  sta        scan_dnum
  400. 00155 0155 A9 00               2                  lda        #No_Err
  401. 00157 0157 18                  2                  clc
  402. 00158 0158 60                  6                  rts
  403. 00159 0159
  404. 00159 0159 A9 28               2      @error        lda        #No_dev        ;Device not found.
  405. 0015B 015B 38                  2                  sec
  406. 0015C 015C 60                  6                  rts
  407. 0015D 015D
  408. 0015D 015D                            ;*******************************************************
  409. 0015D 015D
  410. 0015D 015D 104150504C45               scan_str    dc.b    'APPLE   SCANNER '    ;4 Spaces between
  411. 0016E 016E                                                                    ;1 Sace after
  412. 0016E 016E 00                         dev_count    dc.b    $00
  413. 0016F 016F
  414. 0016F 016F                            ;*******************************************************
  415. 0016F 016F
  416. 0016F 016F 00                         scan_dnum    dc.b    $00            ;Scanner Device Number
  417.  
  418. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   7
  419. Copyright Apple Computer, Inc. 1987-1990
  420.  
  421. Loc   SLoc Object Code    Addr T M    Source Statement
  422.  
  423. 00170 0170
  424. 00170 0170                            ;*******************************************************
  425. 00170 0170
  426. 00170 0170 03                         stat_list2    dc.b    $03            ;PCount = 3
  427. 00171 0171 00                         dev_num2    dc.b    $00            ;Device number
  428. 00172 0172 0175                                   dc.w    stat_data2    ;Data returned here
  429. 00174 0174 00                         stat_code2    dc.b    $00            ;Status Code
  430. 00175 0175
  431. 00175 0175                            ;*******************************************************
  432. 00175 0175
  433. 00175 0175                            stat_data2                        ;Our Buffer. Used over.
  434. 00175 0175 00                         d_stat        dc.b    $00            ;Device Status Byte
  435. 00176 0176 00                         blk_low        dc.b    $00            ;Block Count (Low)
  436. 00177 0177 00                         blk_mid        dc.b    $00            ;Block Count (Mid)
  437. 00178 0178 00                         blk_hi        dc.b    $00            ;Block Count (High)
  438. 00179 0179 00                         id_str_len    dc.b    $00            ;ID String Length
  439. 0017A 017A 000000000000               id_str        dcb.b    16,$00        ;ID STring (16 Bytes)
  440. 0018A 018A 00                         d_type        dc.b    $00            ;Device Type
  441. 0018B 018B 00                         d_stype        dc.b    $00            ;Device Subtype
  442. 0018C 018C 0000                       d_version    dc.w    $00            ;Version Word
  443. 0018E 018E
  444. 0018E 018E                            ;*******************************************************
  445. 0018E 018E                            ;
  446. 0018E 018E                            ;    CODE SAMPLE #3
  447. 0018E 018E                            ;
  448. 0018E 018E                            ;    This code segment issues an Apple Scanner SEND
  449. 0018E 018E                            ;    Command by using the Apple SCSI Card Generic SCSI
  450. 0018E 018E                            ;    call ($2B).  By so doing we can send our halftone
  451. 0018E 018E                            ;    filter to the Scanner.
  452. 0018E 018E                            ;
  453. 0018E 018E                            ;*******************************************************
  454. 0018E 018E
  455. 0018E 018E                            htone_filter
  456. 0018E 018E                                                            ;
  457. 0018E 018E                                                            ; Issue the Call
  458. 0018E 018E                                                            ;
  459. 0018E 018E AD 016F       0016F 4                  lda        scan_dnum
  460. 00191 0191 8D FFFF       0019C 4                  sta        dev_num3
  461. 00194 0194
  462. 00194 0194 20 00B0       000B0 6                  jsr        call_card
  463. 00197 0197 04                                     dc.b    $04            ;Control Call Command Number
  464. 00198 0198 019B                                   dc.w    cmd_list3
  465. 0019A 019A 60                  6                  rts
  466. 0019B 019B
  467. 0019B 019B                            ;*******************************************************
  468. 0019B 019B
  469. 0019B 019B 03                         cmd_list3    dc.b    $03            ;PCount = 3
  470. 0019C 019C 04                         dev_num3    dc.b    $04            ;Device number
  471. 0019D 019D 01A0                                   dc.w    filter_data    ;Pointer to data
  472. 0019F 019F 2B                                     dc.b    $2B            ;Control Code
  473. 001A0 01A0
  474. 001A0 01A0                            ;*******************************************************
  475. 001A0 01A0
  476. 001A0 01A0                            filter_data                        ;Our Data
  477. 001A0 01A0 0018                                   dc.w    24            ;Total Length of Parms
  478. 001A2 01A2 000001BA                               dc.l    send_fltr    ;CDB Pointer (Long)
  479. 001A6 01A6 000001C4                               dc.l    DCData3        ;DCMove Ptr (Long)
  480. 001AA 01AA 00000000                               dc.l    $00000000    ;Rqst Sense Ptr (Long)
  481. 001AE 01AE 00                                     dc.b    $00            ;Reserved
  482. 001AF 01AF 00                                     dc.b    $00            ;SCSI Status
  483. 001B0 01B0 00                                     dc.b    $00            ;Command Count
  484. 001B1 01B1 00000011                               dc.l    $00000011    ;Trans Count (Long)
  485. 001B5 01B5 00                                     dc.b    $00            ;DMA Mode
  486. 001B6 01B6 00000000                               dc.l    $00000000    ;Reserved (Long)
  487. 001BA 01BA
  488. 001BA 01BA                            ;*******************************************************
  489. 001BA 01BA
  490. 001BA 01BA 2A                         send_fltr    dc.b    $2A            ;Scanner SEND Command
  491. 001BB 01BB 00                                     dc.b    $00            ;Reserved
  492.  
  493. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   8
  494. Copyright Apple Computer, Inc. 1987-1990
  495.  
  496. Loc   SLoc Object Code    Addr T M    Source Statement
  497.  
  498. 001BC 01BC 02                                     dc.b    $02            ;Transfer Type
  499. 001BD 01BD 00                                     dc.b    $00            ;Reserved
  500. 001BE 01BE 00                                     dc.b    $00            ;Reserved
  501. 001BF 01BF 02                                     dc.b    $02            ;Transfer ID Byte
  502. 001C0 01C0 00                                     dc.b    $00            ;Reserved
  503. 001C1 01C1 00                                     dc.b    $00            ;Transfer Length (High)
  504. 001C2 01C2 11                                     dc.b    $11            ;Transfer Length (Low)
  505. 001C3 01C3 00                                     dc.b    $00            ;Reserved
  506. 001C4 01C4
  507. 001C4 01C4                            ;*******************************************************
  508. 001C4 01C4
  509. 001C4 01C4 000001E4                   DCData3        dc.l    send_data    ;Scanner SEND Data Ptr
  510. 001C8 01C8 00000011                               dc.l    $00000011    ;Transfer Count
  511. 001CC 01CC 00000000                               dc.l    $00000000    ;Offset
  512. 001D0 01D0 00000000                               dc.l    $00000000    ;Reserved
  513. 001D4 01D4
  514. 001D4 01D4 00000000                               dc.l    $00000000    ;DCStop
  515. 001D8 01D8 00000000                               dc.l    $00000000    ;Reserved
  516. 001DC 01DC 00000000                               dc.l    $00000000    ;Reserved
  517. 001E0 01E0 00000000                               dc.l    $00000000    ;Reserved
  518. 001E4 01E4
  519. 001E4 01E4                            ;*******************************************************
  520. 001E4 01E4
  521. 001E4 01E4 44                         send_data    dc.b    $44            ;4 X 4 Matrix Size
  522. 001E5 01E5 08                                     dc.b    $08            ;Pel 0
  523. 001E6 01E6 88                                     dc.b    $88            ;Pel 1
  524. 001E7 01E7 28                                     dc.b    $28            ;Pel 2
  525. 001E8 01E8 A8                                     dc.b    $A8            ;Pel 3
  526. 001E9 01E9 C8                                     dc.b    $C8            ;Pel 4
  527. 001EA 01EA 48                                     dc.b    $48            ;Pel 5
  528. 001EB 01EB E8                                     dc.b    $E8            ;Pel 6
  529. 001EC 01EC 68                                     dc.b    $68            ;Pel 7
  530. 001ED 01ED 38                                     dc.b    $38            ;Pel 8
  531. 001EE 01EE B8                                     dc.b    $B8            ;Pel 9
  532. 001EF 01EF 18                                     dc.b    $18            ;Pel 10
  533. 001F0 01F0 98                                     dc.b    $98            ;Pel 11
  534. 001F1 01F1 F8                                     dc.b    $F8            ;Pel 12
  535. 001F2 01F2 78                                     dc.b    $78            ;Pel 13
  536. 001F3 01F3 D8                                     dc.b    $D8            ;Pel 14
  537. 001F4 01F4 58                                     dc.b    $58            ;Pel 15
  538. 001F5 01F5
  539. 001F5 01F5                            ;*******************************************************
  540. 001F5 01F5                            ;
  541. 001F5 01F5                            ;    CODE SAMPLE #4
  542. 001F5 01F5                            ;
  543. 001F5 01F5                            ;    This code segment issues an Apple Scanner Define
  544. 001F5 01F5                            ;    Window Parameters Command by using the Apple SCSI
  545. 001F5 01F5                            ;    Card Generic SCSI call ($2B).  This command defines
  546. 001F5 01F5                            ;    the area of the scanner glass we want to scan
  547. 001F5 01F5                            ;
  548. 001F5 01F5                            ;*******************************************************
  549. 001F5 01F5
  550. 001F5 01F5                            def_window
  551. 001F5 01F5                                                            ;
  552. 001F5 01F5                                                            ; Issue the Call
  553. 001F5 01F5                                                            ;
  554. 001F5 01F5 AD 016F       0016F 4                  lda        scan_dnum
  555. 001F8 01F8 8D FFFF       00203 4                  sta        dev_num4
  556. 001FB 01FB
  557. 001FB 01FB 20 00B0       000B0 6                  jsr        call_card
  558. 001FE 01FE 04                                     dc.b    $04            ;Control Call Command Number
  559. 001FF 01FF 0202                                   dc.w    cmd_list4
  560. 00201 0201 60                  6                  rts
  561. 00202 0202
  562. 00202 0202                            ;*******************************************************
  563. 00202 0202
  564. 00202 0202 03                         cmd_list4    dc.b    $03            ;PCount = 3
  565. 00203 0203 00                         dev_num4    dc.b    $00            ;Device number
  566. 00204 0204 0207                                   dc.w    def_wndo    ;Pointer to data
  567.  
  568. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page   9
  569. Copyright Apple Computer, Inc. 1987-1990
  570.  
  571. Loc   SLoc Object Code    Addr T M    Source Statement
  572.  
  573. 00206 0206 2B                                     dc.b    $2B            ;Control Code
  574. 00207 0207
  575. 00207 0207                            ;*******************************************************
  576. 00207 0207
  577. 00207 0207                            def_wndo                        ;Our Data
  578. 00207 0207 0018                                   dc.w    24            ;Total Length of Parms
  579. 00209 0209 00000221                               dc.l    def_wnd_cmd    ;CDB Pointer (Long)
  580. 0020D 020D 0000022B                               dc.l    DCData4        ;DCMove Ptr (Long)
  581. 00211 0211 00000000                               dc.l    $00000000    ;Rqst Sense Ptr (Long)
  582. 00215 0215 00                                     dc.b    $00            ;Reserved
  583. 00216 0216 00                                     dc.b    $00            ;SCSI Status
  584. 00217 0217 00                                     dc.b    $00            ;Command Count
  585. 00218 0218 00000030                               dc.l    8+40        ;Trans Count (Long)
  586. 0021C 021C 00                                     dc.b    $00            ;DMA Mode
  587. 0021D 021D 00000000                               dc.l    $00000000    ;Reserved (Long)
  588. 00221 0221
  589. 00221 0221                            ;*******************************************************
  590. 00221 0221
  591. 00221 0221 24                         def_wnd_cmd    dc.b    $24            ;Scanner Define Window
  592. 00222 0222                                                            ;Parameters Command
  593. 00222 0222 00                                     dc.b    $00            ;Reserved
  594. 00223 0223 00                                     dc.b    $00            ;Reserved
  595. 00224 0224 00                                     dc.b    $00            ;Reserved
  596. 00225 0225 00                                     dc.b    $00            ;Reserved
  597. 00226 0226 00                                     dc.b    $00            ;Reserved
  598. 00227 0227 00                                     dc.b    $00            ;Transfer Length (High)
  599. 00228 0228 00                                     dc.b    $00            ;Transfer Length (Mid)
  600. 00229 0229 30                                     dc.b    8+40        ;Transfer Length (Low)
  601. 0022A 022A 80                                     dc.b    $80            ;Apple Bit
  602. 0022B 022B
  603. 0022B 022B                            ;*******************************************************
  604. 0022B 022B
  605. 0022B 022B 0000024B                   DCData4        dc.l    wndo_data    ;Scanner Window Data Ptr
  606. 0022F 022F 00000030                               dc.l    8+40        ;Transfer Count
  607. 00233 0233 00000000                               dc.l    $00000000    ;Offset
  608. 00237 0237 00000000                               dc.l    $00000000    ;Reserved
  609. 0023B 023B
  610. 0023B 023B 00000000                               dc.l    $00000000    ;DCStop
  611. 0023F 023F 00000000                               dc.l    $00000000    ;Reserved
  612. 00243 0243 00000000                               dc.l    $00000000    ;Reserved
  613. 00247 0247 00000000                               dc.l    $00000000    ;Reserved
  614. 0024B 024B
  615. 0024B 024B                            ;*******************************************************
  616. 0024B 024B                            ;    NOTE:  Remember that all values that are longer than
  617. 0024B 024B                            ;    1 byte are in reversed order from natice 65xxx code.
  618. 0024B 024B                            ;*******************************************************
  619. 0024B 024B
  620. 0024B 024B 000000000000               wndo_data    dcb.b    6,$00        ;Reserved
  621. 00251 0251 00                                     dc.b    $00            ;Transfer Length (High)
  622. 00252 0252 28                                     dc.b    40            ;Transfer Length (Low)
  623. 00253 0253
  624. 00253 0253 01                                     dc.b    $01            ;Window Identifier
  625. 00254 0254 00                                     dc.b    $00            ;Reserved
  626. 00255 0255
  627. 00255 0255 00                                     dc.b    $00            ;X Resolution (High)
  628. 00256 0256 96                                     dc.b    150            ;X Resolution (Low)
  629. 00257 0257
  630. 00257 0257 00                                     dc.b    $00            ;Y Resolution (High)
  631. 00258 0258 4B                                     dc.b    75            ;Y Resolution (Low)
  632. 00259 0259                                                            ;
  633. 00259 0259                                                            ; We will use the corner as
  634. 00259 0259                                                            ; Our Upper Left Possition.
  635. 00259 0259                                                            ; This is at coordinate 0,0
  636. 00259 0259                                                            ;
  637. 00259 0259 00                                     dc.b    $00            ;Upper Left X (High)
  638. 0025A 025A 00                                     dc.b    $00            ;Upper Left X (Mid High)
  639. 0025B 025B 00                                     dc.b    $00            ;Upper Left X (Mid Low)
  640. 0025C 025C 00                                     dc.b    $00            ;Upper Left X (Low)
  641. 0025D 025D
  642.  
  643. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  10
  644. Copyright Apple Computer, Inc. 1987-1990
  645.  
  646. Loc   SLoc Object Code    Addr T M    Source Statement
  647.  
  648. 0025D 025D 00                                     dc.b    $00            ;Upper Left Y (High)
  649. 0025E 025E 00                                     dc.b    $00            ;Upper Left Y (Mid High)
  650. 0025F 025F 00                                     dc.b    $00            ;Upper Left Y (Mid Low)
  651. 00260 0260 00                                     dc.b    $00            ;Upper Left Y (Low)
  652. 00261 0261                                                            ;
  653. 00261 0261                                                            ; Width is defined as the number
  654. 00261 0261                                                            ; of 1/1200-inch increments on
  655. 00261 0261                                                            ; the horizontal axis; must be on
  656. 00261 0261                                                            ; a byte boundry for both the
  657. 00261 0261                                                            ; start and end points.  We will
  658. 00261 0261                                                            ; set for 4 Inches and drop the
  659. 00261 0261                                                            ; extra.
  660. 00261 0261                                                            ;
  661. 00261 0261 00                                     dc.b    $00            ;Width (High)
  662. 00262 0262 00                                     dc.b    $00            ;Width (Mid High)
  663. 00263 0263 12                                     dc.b    4*1200/256    ;Width (Mid Low)
  664. 00264 0264 C0                                     dc.b    4*1200        ;Width (Low)
  665. 00265 0265                                                            ;
  666. 00265 0265                                                            ; Length is defined as the number
  667. 00265 0265                                                            ; of 1/1200-inch increments on the
  668. 00265 0265                                                            ; vertical axis.  We want â‰ˆ 2 1/2
  669. 00265 0265                                                            ; inches or 3072 increments
  670. 00265 0265                                                            ;
  671. 00265 0265 00                                     dc.b    $00            ;Length (High)
  672. 00266 0266 00                                     dc.b    $00            ;Length (Mid High)
  673. 00267 0267 0C                                     dc.b    3072/256    ;Length (Mid Low)
  674. 00268 0268 00                                     dc.b    3072        ;Length (Low)
  675. 00269 0269
  676. 00269 0269 80                                     dc.b    $80            ;Median Brightness
  677. 0026A 026A 80                                     dc.b    $80            ;Median Threshold
  678. 0026B 026B 80                                     dc.b    $80            ;Median Contrast
  679. 0026C 026C
  680. 0026C 026C 01                                     dc.b    $01            ;Image Composition (Halftone)
  681. 0026D 026D 01                                     dc.b    $01            ;Bits per Pixel
  682. 0026E 026E
  683. 0026E 026E 00                                     dc.b    $00            ;Halftone Mask Always $00 (High)
  684. 0026F 026F 02                                     dc.b    $02            ;Downloaded Mask Pattern (Low)
  685. 00270 0270
  686. 00270 0270 03                                     dc.b    $03            ;Padding Type
  687. 00271 0271 0000                                   dcb.b    2,$00        ;Reserved
  688. 00273 0273 00                                     dc.b    $00            ;Compression Type (None)
  689. 00274 0274 000000000000                           dcb.b    7,$00        ;Scanner Ref. is wrong.  Says 5.
  690. 0027B 027B
  691. 0027B 027B                            ;*******************************************************
  692. 0027B 027B                            ;
  693. 0027B 027B                            ;    CODE SAMPLE #5
  694. 0027B 027B                            ;
  695. 0027B 027B                            ;    This code segment issues an Apple Scanner SCAN
  696. 0027B 027B                            ;    Command by using the Apple SCSI Card Generic SCSI
  697. 0027B 027B                            ;    call ($2B).  This starts the actual scanning.
  698. 0027B 027B                            ;
  699. 0027B 027B                            ;*******************************************************
  700. 0027B 027B
  701. 0027B 027B                            start_scan
  702. 0027B 027B                                                            ;
  703. 0027B 027B                                                            ; Issue the Call
  704. 0027B 027B                                                            ;
  705. 0027B 027B AD 016F       0016F 4                  lda        scan_dnum
  706. 0027E 027E 8D FFFF       00289 4                  sta        dev_num5
  707. 00281 0281
  708. 00281 0281 20 00B0       000B0 6                  jsr        call_card
  709. 00284 0284 04                                     dc.b    $04            ;Control Call Command Number
  710. 00285 0285 0288                                   dc.w    cmd_list5
  711. 00287 0287 60                  6                  rts
  712. 00288 0288
  713. 00288 0288                            ;*******************************************************
  714. 00288 0288
  715. 00288 0288 03                         cmd_list5    dc.b    $03            ;PCount = 3
  716. 00289 0289 00                         dev_num5    dc.b    $00            ;Device number
  717.  
  718. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  11
  719. Copyright Apple Computer, Inc. 1987-1990
  720.  
  721. Loc   SLoc Object Code    Addr T M    Source Statement
  722.  
  723. 0028A 028A 028D                                   dc.w    scan_cmd    ;Pointer to data
  724. 0028C 028C 2B                                     dc.b    $2B            ;Control Code
  725. 0028D 028D
  726. 0028D 028D                            ;*******************************************************
  727. 0028D 028D
  728. 0028D 028D                            scan_cmd                        ;Our Data
  729. 0028D 028D 0018                                   dc.w    24            ;Total Length of Parms
  730. 0028F 028F 000002A7                               dc.l    do_scan        ;CDB Pointer (Long)
  731. 00293 0293 000002AD                               dc.l    DCData5        ;DCMove Ptr (Long)
  732. 00297 0297 00000000                               dc.l    $00000000    ;Rqst Sense Ptr (Long)
  733. 0029B 029B 00                                     dc.b    $00            ;Reserved
  734. 0029C 029C 00                                     dc.b    $00            ;SCSI Status
  735. 0029D 029D 00                                     dc.b    $00            ;Command Count
  736. 0029E 029E 00000001                               dc.l    $00000001    ;Trans Count (Long)
  737. 002A2 02A2 00                                     dc.b    $00            ;DMA Mode
  738. 002A3 02A3 00000000                               dc.l    $00000000    ;Reserved (Long)
  739. 002A7 02A7
  740. 002A7 02A7                            ;*******************************************************
  741. 002A7 02A7
  742. 002A7 02A7 1B                         do_scan        dc.b    $1B            ;SCAN
  743. 002A8 02A8                                                            ;Parameters Command
  744. 002A8 02A8 000000                                 dcb.b    3,$00        ;Reserved
  745. 002AB 02AB 01                                     dc.b    1            ;Transfer Length (Low)
  746. 002AC 02AC 00                                     dc.b    $00            ;Wait and Home Bits = 0
  747. 002AD 02AD
  748. 002AD 02AD                            ;*******************************************************
  749. 002AD 02AD
  750. 002AD 02AD 000002CD                   DCData5        dc.l    window_ID    ;Scanner Window Data Ptr
  751. 002B1 02B1 00000001                               dc.l    1            ;Transfer Count
  752. 002B5 02B5 00000000                               dc.l    $00000000    ;Offset
  753. 002B9 02B9 00000000                               dc.l    $00000000    ;Reserved
  754. 002BD 02BD
  755. 002BD 02BD 00000000                               dc.l    $00000000    ;DCStop
  756. 002C1 02C1 00000000                               dc.l    $00000000    ;Reserved
  757. 002C5 02C5 00000000                               dc.l    $00000000    ;Reserved
  758. 002C9 02C9 00000000                               dc.l    $00000000    ;Reserved
  759. 002CD 02CD
  760. 002CD 02CD                            ;*******************************************************
  761. 002CD 02CD
  762. 002CD 02CD 01                         window_ID    dc.b    $01            ;Window Identifier
  763. 002CE 02CE
  764. 002CE 02CE                            ;*******************************************************
  765. 002CE 02CE                            ;
  766. 002CE 02CE                            ;    CODE SAMPLE #6
  767. 002CE 02CE                            ;
  768. 002CE 02CE                            ;    This code segment issues a series of calls to the
  769. 002CE 02CE                            ;    Apple Scanner by using the Apple SCSI Card Generic
  770. 002CE 02CE                            ;    SCSI call ($2B).  We first issue a GET DATA STATUS
  771. 002CE 02CE                            ;    to see if there is enough data.  Then we read in a
  772. 002CE 02CE                            ;    single Scan Line with a READ Call.  The data is then
  773. 002CE 02CE                            ;    converted and placed in a video buffer.
  774. 002CE 02CE                            ;
  775. 002CE 02CE                            ;*******************************************************
  776. 002CE 02CE
  777. 002CE 02CE                            get_data
  778. 002CE 02CE 9C FFFF       00338 4                  stz        scan_line    ;Init the scanline to 0
  779. 002D1 02D1                                                            ;
  780. 002D1 02D1                                                            ; Issue the Call
  781. 002D1 02D1                                                            ;
  782. 002D1 02D1 AD 016F       0016F 4                  lda        scan_dnum
  783. 002D4 02D4 8D FFFF       0038D 4                  sta        dev_num6
  784. 002D7 02D7 8D FFFF       00392 4                  sta        dev_num65
  785. 002DA 02DA
  786. 002DA 02DA 20 00B0       000B0 6      @get_data2    jsr        call_card
  787. 002DD 02DD 04                                     dc.b    $04            ;Control Call Command Number
  788. 002DE 02DE 038C                                   dc.w    cmd_list6
  789. 002E0 02E0 B0 52         00334 2                  bcs        @out
  790. 002E2 02E2                                                            ;
  791. 002E2 02E2                                                            ; Is there enough Data?
  792.  
  793. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  12
  794. Copyright Apple Computer, Inc. 1987-1990
  795.  
  796. Loc   SLoc Object Code    Addr T M    Source Statement
  797.  
  798. 002E2 02E2                                                            ; Enough data = 1 scan
  799. 002E2 02E2                                                            ; line of 4 inches at 150
  800. 002E2 02E2                                                            ; DPI or 600 pixels.  At
  801. 002E2 02E2                                                            ; 8 pixels per byte, the
  802. 002E2 02E2                                                            ; data will be padded to
  803. 002E2 02E2                                                            ; 75 bytes.
  804. 002E2 02E2                                                            ;
  805. 002E2 02E2 AD FFFF       00427 4                  lda        scan_data
  806. 002E5 02E5 D0 0C         002F3 2                  bne        @have_line
  807. 002E7 02E7 AD FFFF       00428 4                  lda        scan_data+1
  808. 002EA 02EA D0 07         002F3 2                  bne        @have_line
  809. 002EC 02EC AD FFFF       00429 4                  lda        scan_data+2
  810. 002EF 02EF C9 4B               2                  cmp        #rqst_cnt
  811. 002F1 02F1 90 E7         002DA 2                  blt        @get_data2
  812. 002F3 02F3                                                            ;
  813. 002F3 02F3                                                            ; We have the data.  Read
  814. 002F3 02F3                                                            ; it.
  815. 002F3 02F3                                                            ;
  816. 002F3 02F3 20 00B0       000B0 6      @have_line    jsr        call_card
  817. 002F6 02F6 04                                     dc.b    $04            ;Control Call Command Number
  818. 002F7 02F7 0391                                   dc.w    cmd_list65
  819. 002F9 02F9 B0 39         00334 2                  bcs        @out
  820. 002FB 02FB                                                            ;
  821. 002FB 02FB                                                            ; Now we need to invert
  822. 002FB 02FB                                                            ; the data.
  823. 002FB 02FB                                                            ;
  824. 002FB 02FB A9 50               2                  lda        #80            ;40 bytes/line
  825. 002FD 02FD 8D FFFF       00339 4                  sta        byte_count
  826. 00300 0300 9C FFFF       0033A 4                  stz        byte_index
  827. 00303 0303 A9 07               2      @loop_1        lda        #$07
  828. 00305 0305 8D FFFF       0033B 4                  sta        seven        ;Pixels/byte
  829. 00308 0308 A2 49               2      @loop_2        ldx        #rqst_cnt-2
  830. 0030A 030A 0E FFFF       00474 6                  asl        raw_image+\
  831.                                                           rqst_cnt-1    ;Shift bits out the top to
  832. 0030D 030D 3E FFFF             7      @loop_3        rol        raw_image,x    ;the next byte 1 at a time
  833. 00310 0310 CA                  2                  dex
  834. 00311 0311 10 FA         0030D 2                  bpl        @loop_3
  835. 00313 0313 AE FFFF       0033A 4                  ldx        byte_index    ;Shift the last bit in to
  836. 00316 0316 7E FFFF             7                  ror        screen,x    ;this byte.  This reverses the
  837. 00319 0319 CE FFFF       0033B 6                  dec        seven        ;bit ordering. Also taking 8
  838. 0031C 031C D0 EA         00308 2                  bne        @loop_2        ;bits per byte down to 7
  839. 0031E 031E 5E FFFF             7                  lsr        screen,x
  840. 00321 0321 EE FFFF       0033A 6                  inc        byte_index
  841. 00324 0324 CE FFFF       00339 6                  dec        byte_count
  842. 00327 0327 D0 DA         00303 2                  bne        @loop_1
  843. 00329 0329                                                            ;
  844. 00329 0329                                                            ; Move data to Scan Line
  845. 00329 0329                                                            ;
  846. 00329 0329 AE FFFF       00338 4                  ldx        scan_line
  847. 0032C 032C 20 FFFF       0048E 6                  jsr        on_screen
  848. 0032F 032F EE FFFF       00338 6                  inc        scan_line
  849. 00332 0332 80 A6         002DA 3                  bra        @get_data2
  850. 00334 0334
  851. 00334 0334 A9 00               2      @out        lda        #$00
  852. 00336 0336 18                  2                  clc
  853. 00337 0337 60                  6                  rts
  854. 00338 0338
  855. 00338 0338                            ;*******************************************************
  856. 00338 0338
  857. 00338 0338 00                         scan_line    dc.b    $00            ;Scan Line Index
  858. 00339 0339 00                         byte_count    dc.b    $00            ;Number of bytes left
  859. 0033A 033A 00                         byte_index    dc.b    $00            ;Current Byte in use
  860. 0033B 033B 00                         seven        dc.b    $00            ;Count off 7 pixels
  861. 0033C 033C 000000000000               screen        dcb.b    80,0        ;Place to do the screen
  862. 0038C 038C
  863. 0038C 038C                            ;*******************************************************
  864. 0038C 038C
  865. 0038C 038C 03                         cmd_list6    dc.b    $03            ;PCount = 3
  866. 0038D 038D 00                         dev_num6    dc.b    $00            ;Device number
  867.  
  868. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  13
  869. Copyright Apple Computer, Inc. 1987-1990
  870.  
  871. Loc   SLoc Object Code    Addr T M    Source Statement
  872.  
  873. 0038E 038E 0396                                   dc.w    gd_status    ;Pointer to data
  874. 00390 0390 2B                                     dc.b    $2B            ;Control Code
  875. 00391 0391
  876. 00391 0391 03                         cmd_list65    dc.b    $03            ;PCount = 3
  877. 00392 0392 00                         dev_num65    dc.b    $00            ;Device number
  878. 00393 0393 03B0                                   dc.w    read        ;Pointer to data
  879. 00395 0395 2B                                     dc.b    $2B            ;Control Code
  880. 00396 0396
  881. 00396 0396                            ;*******************************************************
  882. 00396 0396
  883. 00396 0396                            gd_status                        ;Our Data
  884. 00396 0396 0018                                   dc.w    24            ;Total Length of Parms
  885. 00398 0398 000003CA                               dc.l    get_stat    ;CDB Pointer (Long)
  886. 0039C 039C 000003DE                               dc.l    DCData6        ;DCMove Ptr (Long)
  887. 003A0 03A0 00000000                               dc.l    $00000000    ;Rqst Sense Ptr (Long)
  888. 003A4 03A4 00                                     dc.b    $00            ;Reserved
  889. 003A5 03A5 00                                     dc.b    $00            ;SCSI Status
  890. 003A6 03A6 00                                     dc.b    $00            ;Command Count
  891. 003A7 03A7 0000000C                               dc.l    $0000000C    ;Trans Count (Long)
  892. 003AB 03AB 00                                     dc.b    $00            ;DMA Mode
  893. 003AC 03AC 00000000                               dc.l    $00000000    ;Reserved (Long)
  894. 003B0 03B0
  895. 003B0 03B0                            read                            ;Our Data
  896. 003B0 03B0 0018                                   dc.w    24            ;Total Length of Parms
  897. 003B2 03B2 000003D4                               dc.l    get_data2    ;CDB Pointer (Long)
  898. 003B6 03B6 000003FE                               dc.l    DCData65    ;DCMove Ptr (Long)
  899. 003BA 03BA 00000000                               dc.l    $00000000    ;Rqst Sense Ptr (Long)
  900. 003BE 03BE 00                                     dc.b    $00            ;Reserved
  901. 003BF 03BF 00                                     dc.b    $00            ;SCSI Status
  902. 003C0 03C0 00                                     dc.b    $00            ;Command Count
  903. 003C1 03C1 0000004B                               dc.l    rqst_cnt    ;Trans Count (Long)
  904. 003C5 03C5 00                                     dc.b    $00            ;DMA Mode
  905. 003C6 03C6 00000000                               dc.l    $00000000    ;Reserved (Long)
  906. 003CA 03CA
  907. 003CA 03CA                            ;*******************************************************
  908. 003CA 03CA
  909. 003CA 03CA 34                         get_stat    dc.b    $34            ;GET DATA STATUS
  910. 003CB 03CB                                                            ;Parameters Command
  911. 003CB 03CB 000000000000                           dcb.b    7,$00        ;Reserved
  912. 003D2 03D2 0C                                     dc.b    12            ;Transfer Length (Low)
  913. 003D3 03D3 00                                     dc.b    $00            ;Wait and Home Bits = 0
  914. 003D4 03D4
  915. 003D4 03D4 28                         get_data2    dc.b    $28            ;READ
  916. 003D5 03D5                                                            ;Parameters Command
  917. 003D5 03D5 00000000                               dcb.b    4,$00        ;Reserved
  918. 003D9 03D9 01                                     dc.b    $01            ;Window ID
  919. 003DA 03DA 00                                     dc.b    $00            ;Transfer Length (High)
  920. 003DB 03DB 00                                     dc.b    $00            ;Transfer Length (Mid)
  921. 003DC 03DC 4B                                     dc.b    rqst_cnt    ;Transfer Length (Low)
  922. 003DD 03DD 00                                     dc.b    $00            ;Wait and Home Bits = 0
  923. 003DE 03DE
  924. 003DE 03DE                            ;*******************************************************
  925. 003DE 03DE
  926. 003DE 03DE 0000041E                   DCData6        dc.l    data_cnt    ;Data Pointer
  927. 003E2 03E2 0000000C                               dc.l    12            ;Transfer Count
  928. 003E6 03E6 00000000                               dc.l    $00000000    ;Offset
  929. 003EA 03EA 00000000                               dc.l    $00000000    ;Reserved
  930. 003EE 03EE
  931. 003EE 03EE 00000000                               dc.l    $00000000    ;DCStop
  932. 003F2 03F2 00000000                               dc.l    $00000000    ;Reserved
  933. 003F6 03F6 00000000                               dc.l    $00000000    ;Reserved
  934. 003FA 03FA 00000000                               dc.l    $00000000    ;Reserved
  935. 003FE 03FE
  936. 003FE 03FE 0000042A                   DCData65    dc.l    raw_image    ;Data Pointer
  937. 00402 0402 0000004B                               dc.l    rqst_cnt    ;Transfer Count
  938. 00406 0406 00000000                               dc.l    $00000000    ;Offset
  939. 0040A 040A 00000000                               dc.l    $00000000    ;Reserved
  940. 0040E 040E
  941. 0040E 040E 00000000                               dc.l    $00000000    ;DCStop
  942.  
  943. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  14
  944. Copyright Apple Computer, Inc. 1987-1990
  945.  
  946. Loc   SLoc Object Code    Addr T M    Source Statement
  947.  
  948. 00412 0412 00000000                               dc.l    $00000000    ;Reserved
  949. 00416 0416 00000000                               dc.l    $00000000    ;Reserved
  950. 0041A 041A 00000000                               dc.l    $00000000    ;Reserved
  951. 0041E 041E
  952. 0041E 041E                            ;*******************************************************
  953. 0041E 041E
  954. 0041E 041E                            data_cnt                        ;Data Space
  955. 0041E 041E 0000                                   dcb.b    2,$00        ;Reserved
  956. 00420 0420 00                                     dc.b    $00            ;Data Length
  957. 00421 0421 00                                     dc.b    $00            ;Block
  958. 00422 0422 00                                     dc.b    $00            ;Window Identifier
  959. 00423 0423 00000000                               dcb.b    4,$00        ;Reserved
  960. 00427 0427 00                         scan_data    dc.b    $00            ;Scan Data (High)
  961. 00428 0428 00                                     dc.b    $00            ;Scan Data (Mid)
  962. 00429 0429 00                                     dc.b    $00            ;Scan Data (Low)
  963. 0042A 042A
  964. 0042A 042A 000000000000               raw_image    dcb.b    100,$00;Scanned Data Image
  965. 0048E 048E
  966. 0048E 048E                            ;*******************************************************
  967. 0048E 048E
  968. 0048E 048E BD FFFF             4      on_screen    lda        scan_tbl_lo,x
  969. 00491 0491 85 42               3                  sta        <My_ZPage
  970. 00493 0493 BD FFFF             4                  lda        scan_tbl_hi,x
  971. 00496 0496 85 43               3                  sta        <My_ZPage+1
  972. 00498 0498                                                            ;
  973. 00498 0498                                                            ; Do Main Bank Screen
  974. 00498 0498                                                            ;
  975. 00498 0498 8D C001             4                  sta        SET80COL    ;Allow writes to AUX 48k
  976. 0049B 049B
  977. 0049B 049B 8D C004             4                  sta        WRMAINRAM    ;Write to Main 48k
  978. 0049E 049E
  979. 0049E 049E A2 4F               2                  ldx        #80-1
  980. 004A0 04A0 A0 27               2                  ldy        #40-1
  981. 004A2 04A2 BD 033C             4      @loop        lda        screen,x
  982. 004A5 04A5 49 7F               2                  eor        #$7f
  983. 004A7 04A7 91 42               6                  sta        (My_ZPage),y
  984. 004A9 04A9 CA                  2                  dex
  985. 004AA 04AA CA                  2                  dex
  986. 004AB 04AB 88                  2                  dey
  987. 004AC 04AC 10 F4         004A2 2                  bpl        @loop
  988. 004AE 04AE                                                            ;
  989. 004AE 04AE                                                            ; Do Aux Bank Screen
  990. 004AE 04AE                                                            ;
  991. 004AE 04AE 8D C005             4                  sta        WRCARDRAM    ;Write to Alternate 48k
  992. 004B1 04B1
  993. 004B1 04B1 A2 4E               2                  ldx        #80-2
  994. 004B3 04B3 A0 27               2                  ldy        #40-1
  995. 004B5 04B5 BD 033C             4      @loop2        lda        screen,x
  996. 004B8 04B8 49 7F               2                  eor        #$7f
  997. 004BA 04BA 91 42               6                  sta        (My_ZPage),y
  998. 004BC 04BC CA                  2                  dex
  999. 004BD 04BD CA                  2                  dex
  1000. 004BE 04BE 88                  2                  dey
  1001. 004BF 04BF 10 F4         004B5 2                  bpl        @loop2
  1002. 004C1 04C1
  1003. 004C1 04C1 8D C004             4                  sta        WRMAINRAM    ;Write to Main 48k
  1004. 004C4 04C4
  1005. 004C4 04C4 8D C000             4                  sta        CLR80COL    ;Disallow writes to AUX 48k
  1006. 004C7 04C7
  1007. 004C7 04C7 18                  2                  clc
  1008. 004C8 04C8 60                  6                  rts
  1009. 004C9 04C9
  1010. 004C9 04C9 000000000000               scan_tbl_lo    dcb.b    8,$00        ;Lines 0-7
  1011. 004D1 04D1 808080808080                           dcb.b    8,$80        ;Lines 8-15
  1012. 004D9 04D9 000000000000                           dcb.b    8,$00        ;Lines 16-23
  1013. 004E1 04E1 808080808080                           dcb.b    8,$80        ;Lines 24-31
  1014. 004E9 04E9 000000000000                           dcb.b    8,$00        ;Lines 32-39
  1015. 004F1 04F1 808080808080                           dcb.b    8,$80        ;Lines 40-47
  1016. 004F9 04F9 000000000000                           dcb.b    8,$00        ;Lines 48-55
  1017.  
  1018. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  15
  1019. Copyright Apple Computer, Inc. 1987-1990
  1020.  
  1021. Loc   SLoc Object Code    Addr T M    Source Statement
  1022.  
  1023. 00501 0501 808080808080                           dcb.b    8,$80        ;Lines 56-63
  1024. 00509 0509
  1025. 00509 0509 282828282828                           dcb.b    8,$28        ;Lines 64-71
  1026. 00511 0511 A8A8A8A8A8A8                           dcb.b    8,$a8        ;Lines 72-79
  1027. 00519 0519 282828282828                           dcb.b    8,$28        ;Lines 80-87
  1028. 00521 0521 A8A8A8A8A8A8                           dcb.b    8,$a8        ;Lines 88-95
  1029. 00529 0529 282828282828                           dcb.b    8,$28        ;Lines 96-103
  1030. 00531 0531 A8A8A8A8A8A8                           dcb.b    8,$a8        ;Lines 104-111
  1031. 00539 0539 282828282828                           dcb.b    8,$28        ;Lines 112-119
  1032. 00541 0541 A8A8A8A8A8A8                           dcb.b    8,$a8        ;Lines 120-127
  1033. 00549 0549
  1034. 00549 0549 505050505050                           dcb.b    8,$50        ;Lines 128-135
  1035. 00551 0551 D0D0D0D0D0D0                           dcb.b    8,$d0        ;Lines 136-143
  1036. 00559 0559 505050505050                           dcb.b    8,$50        ;Lines 144-151
  1037. 00561 0561 D0D0D0D0D0D0                           dcb.b    8,$d0        ;Lines 152-159
  1038. 00569 0569 505050505050                           dcb.b    8,$50        ;Lines 160-167
  1039. 00571 0571 D0D0D0D0D0D0                           dcb.b    8,$d0        ;Lines 168-175
  1040. 00579 0579 505050505050                           dcb.b    8,$50        ;Lines 176-183
  1041. 00581 0581 D0D0D0D0D0D0                           dcb.b    8,$d0        ;Lines 184-191
  1042. 00589 0589
  1043. 00589 0589 2024282C3034               scan_tbl_hi    dc.b    $20,$24,$28,$2c,$30,$34,$38,$3c
  1044. 00591 0591 2024282C3034                           dc.b    $20,$24,$28,$2c,$30,$34,$38,$3c
  1045. 00599 0599 2125292D3135                           dc.b    $21,$25,$29,$2d,$31,$35,$39,$3d
  1046. 005A1 05A1 2125292D3135                           dc.b    $21,$25,$29,$2d,$31,$35,$39,$3d
  1047. 005A9 05A9 22262A2E3236                           dc.b    $22,$26,$2a,$2e,$32,$36,$3a,$3e
  1048. 005B1 05B1 22262A2E3236                           dc.b    $22,$26,$2a,$2e,$32,$36,$3a,$3e
  1049. 005B9 05B9 23272B2F3337                           dc.b    $23,$27,$2b,$2f,$33,$37,$3b,$3f
  1050. 005C1 05C1 23272B2F3337                           dc.b    $23,$27,$2b,$2f,$33,$37,$3b,$3f
  1051. 005C9 05C9
  1052. 005C9 05C9 2024282C3034                           dc.b    $20,$24,$28,$2c,$30,$34,$38,$3c
  1053. 005D1 05D1 2024282C3034                           dc.b    $20,$24,$28,$2c,$30,$34,$38,$3c
  1054. 005D9 05D9 2125292D3135                           dc.b    $21,$25,$29,$2d,$31,$35,$39,$3d
  1055. 005E1 05E1 2125292D3135                           dc.b    $21,$25,$29,$2d,$31,$35,$39,$3d
  1056. 005E9 05E9 22262A2E3236                           dc.b    $22,$26,$2a,$2e,$32,$36,$3a,$3e
  1057. 005F1 05F1 22262A2E3236                           dc.b    $22,$26,$2a,$2e,$32,$36,$3a,$3e
  1058. 005F9 05F9 23272B2F3337                           dc.b    $23,$27,$2b,$2f,$33,$37,$3b,$3f
  1059. 00601 0601 23272B2F3337                           dc.b    $23,$27,$2b,$2f,$33,$37,$3b,$3f
  1060. 00609 0609
  1061. 00609 0609 2024282C3034                           dc.b    $20,$24,$28,$2c,$30,$34,$38,$3c
  1062. 00611 0611 2024282C3034                           dc.b    $20,$24,$28,$2c,$30,$34,$38,$3c
  1063. 00619 0619 2125292D3135                           dc.b    $21,$25,$29,$2d,$31,$35,$39,$3d
  1064. 00621 0621 2125292D3135                           dc.b    $21,$25,$29,$2d,$31,$35,$39,$3d
  1065. 00629 0629 22262A2E3236                           dc.b    $22,$26,$2a,$2e,$32,$36,$3a,$3e
  1066. 00631 0631 22262A2E3236                           dc.b    $22,$26,$2a,$2e,$32,$36,$3a,$3e
  1067. 00639 0639 23272B2F3337                           dc.b    $23,$27,$2b,$2f,$33,$37,$3b,$3f
  1068. 00641 0641 23272B2F3337                           dc.b    $23,$27,$2b,$2f,$33,$37,$3b,$3f
  1069. 00649 0649
  1070. 00649 0649                            ;*******************************************************
  1071. 00649 0649                            ;
  1072. 00649 0649                            ;    CODE SAMPLE #7
  1073. 00649 0649                            ;
  1074. 00649 0649                            ;    This code segment toggles the HiRes Soft switches so
  1075. 00649 0649                            ;    that we can see what was just scanned.
  1076. 00649 0649                            ;
  1077. 00649 0649                            ;*******************************************************
  1078. 00649 0649
  1079. 00649 0649                            display
  1080. 00649 0649                                                            ;
  1081. 00649 0649                                                            ; Save the Current State
  1082. 00649 0649                                                            ;
  1083. 00649 0649 AD C01A             4                  lda        RDTEXT
  1084. 0064C 064C 8D FFFF       006B6 4                  sta        @text        ;Text/Graphics
  1085. 0064F 064F
  1086. 0064F 064F AD C01B             4                  lda        RDMIX
  1087. 00652 0652 8D FFFF       006B7 4                  sta        @mixed        ;Mixed?
  1088. 00655 0655
  1089. 00655 0655 AD C01C             4                  lda        RDPAGE2
  1090. 00658 0658 8D FFFF       006B8 4                  sta        @page        ;Page 1 or 2
  1091. 0065B 065B
  1092.  
  1093. MPW IIGS Assembler - Ver 1.1b1                                                                             04-Dec-90  Page  16
  1094. Copyright Apple Computer, Inc. 1987-1990
  1095.  
  1096. Loc   SLoc Object Code    Addr T M    Source Statement
  1097.  
  1098. 0065B 065B AD C01D             4                  lda        RDHIRES
  1099. 0065E 065E 8D FFFF       006B9 4                  sta        @hires        ;HiRes Mode?
  1100. 00661 0661
  1101. 00661 0661 AD C01F             4                  lda        RD80VID
  1102. 00664 0664 8D FFFF       006BA 4                  sta        @80col        ;80-Column Mode?
  1103. 00667 0667
  1104. 00667 0667 8D C00D             4                  sta        SET80VID    ;40-Column Mode.
  1105. 0066A 066A 8D C050             4                  sta        TXTCLR        ;Standard Apple II Graphics
  1106. 0066D 066D 8D C052             4                  sta        MIXCLR        ;Clear Mixed Mode
  1107. 00670 0670 8D C054             4                  sta        TXTPAGE1    ;Page 1
  1108. 00673 0673 8D C057             4                  sta        HIRES        ;HiRes Mode
  1109. 00676 0676 8D C05E             4                  sta        CLRAN3        ;Clear annunciator 3
  1110. 00679 0679
  1111. 00679 0679 8D C010             4                  sta        KBD_STRB    ;Clear Key Strobe
  1112. 0067C 067C AD C000             4      @key_loop    lda        KBD            ;Get key
  1113. 0067F 067F 10 FB         0067C 2                  bpl        @key_loop    ;Wait for Key Press
  1114. 00681 0681 8D C010             4                  sta        KBD_STRB    ;Clear Key Strobe
  1115. 00684 0684 C9 9B               2                  cmp        #ESC        ;ESC Key
  1116. 00686 0686 18                  2                  clc
  1117. 00687 0687 D0 04         0068D 2                  bne        @chk_txt
  1118. 00689 0689 38                  2                  sec                    ;Exit on ESC
  1119. 0068A 068A
  1120. 0068A 068A AD C05F             4                  lda        SETAN3        ;Set annunciator 3
  1121. 0068D 068D
  1122. 0068D 068D AD FFFF       006B6 4      @chk_txt    lda        @text
  1123. 00690 0690 10 03         00695 2                  bpl        @chk_mix
  1124. 00692 0692 8D C051             4                  sta        TXTSET        ;Text on
  1125. 00695 0695
  1126. 00695 0695 AD FFFF       006B7 4      @chk_mix    lda        @mixed
  1127. 00698 0698 10 03         0069D 2                  bpl        @chk_page
  1128. 0069A 069A 8D C053             4                  sta        MIXSET        ;Mixed on
  1129. 0069D 069D
  1130. 0069D 069D AD FFFF       006B8 4      @chk_page    lda        @page
  1131. 006A0 06A0 10 03         006A5 2                  bpl        @chk_hires
  1132. 006A2 06A2 8D C055             4                  sta        TXTPAGE2    ;Page 2
  1133. 006A5 06A5
  1134. 006A5 06A5 AD FFFF       006B9 4      @chk_hires    lda        @hires
  1135. 006A8 06A8 30 03         006AD 2                  bmi        @chk_40col
  1136. 006AA 06AA 8D C056             4                  sta        LORES        ;HiRes Off
  1137. 006AD 06AD
  1138. 006AD 06AD AD FFFF       006BA 4      @chk_40col    lda        @80col
  1139. 006B0 06B0 30 03         006B5 2                  bmi        @rts
  1140. 006B2 06B2 8D C00C             4                  sta        CLR80VID    ;80-Column on.
  1141. 006B5 06B5
  1142. 006B5 06B5 60                  6      @rts        rts
  1143. 006B6 06B6
  1144. 006B6 06B6 00                         @text        dc.b    $00
  1145. 006B7 06B7 00                         @mixed        dc.b    $00
  1146. 006B8 06B8 00                         @page        dc.b    $00
  1147. 006B9 06B9 00                         @hires        dc.b    $00
  1148. 006BA 06BA 00                         @80col        dc.b    $00
  1149. 006BB 06BB
  1150. 006BB 06BB                            ;*******************************************************
  1151. 006BB 06BB
  1152. 006BB 06BB                                        ENDP
  1153.  
  1154.                                                   END
  1155.  
  1156. Elapsed time: 3.68 seconds.
  1157.  
  1158. Assembly complete - no errors found.  1059 lines.
  1159.